Mobile devices can provide users with network services via the Internet. Sometimes, when a user conducts searches or queries via an Internet application (e.g., a search engine) on a mobile device, an autocomplete function associated with the mobile device generates suggestion requests based on the user input characters and sends them to a server. After receiving a suggestion request, the server will send back suggested content related to the entered characters. For example, a suggestion box may appear on the screen of the mobile device that displays the suggested content received from the server. In a first example, while using an application on the mobile device to conduct a search, if a user inputs the character “ [zhong]”, popular suggestions such as “ [Zhongguo]” or “ [zhongyang]” may appear in the suggestion box. In a second example, a user may look up information associated with users for which contact information is stored by inputting characters. The user may input a part of the pingyin (romanization of Chinese characters) such as, “z”, and then the suggested content that appears in the suggestion box will include characters whose pingyin starts with “z”, such as “ [Zhang]”.
Autocomplete techniques sometimes rely on communicating with a server over a network in order to operate properly. However, the network signals detected by the mobile device may vary depending on where the user is located. As a result, the rate at which a user may input characters into an application on the mobile device may outpace the rate at which the mobile device is able to send and receive data with the server, which can cause a delay in the return of suggested content to the mobile device. As the mobile device waits on suggested content to be returned for certain user input characters, the user may have input additional characters. In such situations, multiple instances of suggested content eventually returned from the server may all at once and out of the sequence they were intended to arrive at the mobile device, or a suggested content for a later input character may be received at the mobile device before a suggested content for an earlier input character is received. Such behavior may lead to a disorganization of suggested content and an overall poor user experience.
For example, a user who is using a mobile device wants to look up information on another user, “ [Wang Fei]”, in application A. Conventionally, when the user inputs the first character “w,” the suggestions of individual characters having the same pingyin such as “ [Wang]”, “ [Wang]” and so on, will be sent back from the server. When the user inputs the second character “f”, an association may be made with the first character, “w”, and the suggestion of set of characters “ [Wang Fei]” will be sent back. At this point, the user can quickly find the name and other stored information of this other user.
However, assume that the network signal detected by the mobile device is weak—for example, the user is on a train, and the train is passing through a tunnel so that the signal detected by the mobile device is obstructed by the tunnel. Assume that while the detected signal is weak (or non-existent), the user inputs the first character “w” into an application executing on the mobile. Because at this time, the user is still on the train that is in a tunnel, the network signal is weak and so the suggestion request is either not sent to the server or that the suggested content sent by the server cannot be received at the mobile device. Later, the second character “f” is input into application when the train has already come out of the tunnel and the network signal is strong again, the suggested content returned to the mobile device may include individual characters “ [Fei]”, “ [Fan]”, which are all based on the second input character of “f”. The server may eventually receive a retransmission of the first input character “w” but the server may assume that it was input after “w”, and return the suggested content of set of characters “ [Fan Wei]”, which is based on the incorrect assumption that the character “w” was input after the character “f”. As such, the possibility of poor network signal may disturb the manner in which autocomplete functions and cause the wrong suggested content to be sent from the server.